package metier;

import java.awt.Color;
import utiles.FourmizLogger;
import utiles.K;

/**
 * Classe représentant une fourmi reine
 *
 * @author Thomas Folgueral
 * @author Julien Pernot
 * @author Guillaume Peyet
 * @author Guillaume Sainthillier
 */
public class Reine extends Fourmi {
	private Double frequenceNaissance;
	private Double compteurNaissance;

    public Reine(Position p, Fourmiliere f) {
        super(-1, 0, f);
		this.frequenceNaissance = null;
		this.compteurNaissance = 0.0;
		this.couleur = Color.CYAN;
    }
	
	@Override
	public void agir (Carte carte) {
		if (this.frequenceNaissance == null)
			this.frequenceNaissance = carte.getEnvironnement().getFrequenceNaissance();
		
		this.compteurNaissance += this.frequenceNaissance;
		
		Environnement e = carte.getEnvironnement();
		int naissances = this.compteurNaissance.intValue();
		
		for (int i = 0 ; i < naissances ; i++) {
			FourmizLogger.info(this, "Naissance d'une fourmi");
			carte.addElement(new Fourmi(e.getDureeVieFourmis(), K.QTE_NOURRITURE_TRANSPORTABLE, this.f), carte.getPosition(this));
		}
		
		this.compteurNaissance -= naissances;
	}
	
	@Override
	public String toString() {
		return "R";
	}
}